
package com.ruoyi.busi.guide.service;

import com.mybatisflex.core.service.IService;
import com.ruoyi.busi.guide.domain.Mentor;
import com.ruoyi.busi.guide.domain.Education;
import com.ruoyi.busi.guide.domain.Experience;
import com.ruoyi.busi.guide.domain.dto.MentorDetailDTO;
import com.ruoyi.busi.guide.domain.dto.MentorRequestDTO;
import java.util.List;

/**
 * 导师信息Service接口
 */
public interface IMentorService extends IService<Mentor> {
    /**
     * 查询导师列表
     */
    List<Mentor> selectMentorList(Mentor mentor);

    /**
     * 获取导师详细信息(包含教育经历和工作经历)
     */
    MentorDetailDTO getMentorDetail(Long mentorId);

    /**
     * 新增导师(包含教育经历和工作经历)
     */
    @Override
    boolean save(Mentor mentor);

    /**
     * 新增导师及其关联的教育经历、工作经历和能力评估
     */
    boolean saveWithExperiences(Mentor mentor, List<Education> educations, List<Experience> experiences, MentorRequestDTO mentorDTO);
    
    /**
     * 更新导师及其关联的教育经历、工作经历和能力评估
     */
    boolean updateWithExperiences(Mentor mentor, List<Education> educations, List<Experience> experiences, MentorRequestDTO mentorDTO);

    /**
     * 批量删除导师
     */
    boolean deleteMentorByIds(List<Long> mentorIds);
}
